package stylistcrm.core.services.order.service;

import stylistcrm.core.query.ResultPagerModel;
import stylistcrm.core.services.order.dto.InvoiceOrderDto;
import stylistcrm.core.services.order.dto.QueryOrderConditionDto;
import stylistcrm.core.services.order.exception.BizException;

import java.util.List;

public interface InvoiceOrderService {
	/**
	 * 
	 * @描述：创建发货单
	 * @param invoiceOrderDto
	 * @return
	 * @return Boolean
	 * @exception
	 * @createTime：2016年8月26日
	 * @author: chenyong
	 */
	Boolean createInvoiceOrder(Integer currentUserId,InvoiceOrderDto invoiceOrderDto) throws BizException;
	/**
	 * 
	 * @描述：分页查询发货单
	 * @param queryCondition
	 * @return
	 * @return ResultPagerModel<InvoiceOrderDto>
	 * @exception
	 * @createTime：2016年8月26日
	 * @author: chenyong
	 */
	ResultPagerModel<InvoiceOrderDto> getPageList(QueryOrderConditionDto queryCondition);
	
	 /**
     * 
     * @描述：通过主键获取对象
     * @param id
     * @return
     * @return PurchaseOrderDto
     * @exception
     * @createTime：2016年8月31日
     * @author: chenyong
     */
    InvoiceOrderDto selectByPrimaryKey(Integer id);
    
    /**
     * 
     * @描述：获取分页的ID主键
     * @param queryCondition
     * @return
     * @return List<Integer>
     * @exception
     * @createTime：2016年8月31日
     * @author: chenyong
     */
	List<Integer> getPageIdList(QueryOrderConditionDto queryCondition);
    /**
     * 
     * @描述：获取总的数量
     * @param queryCondition
     * @return
     * @return Integer
     * @exception
     * @createTime：2016年8月31日
     * @author: chenyong
     */
    Integer getTotalCount(QueryOrderConditionDto queryCondition);
}
